﻿using RndMaterialDisposalService.Models;
using RndMaterialDisposalService.Models.RequestModel;

namespace RndMaterialDisposalService.Services.Interface
{
    /// <summary>
    /// 
    /// </summary>
    public interface IUserInfoService
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="employeeNumber"></param>
        /// <returns></returns>
        Task<K2CloudGetEmployeeInfoModel> GetEmployeeInfo(string employeeNumber);

        /// <summary>
        /// 获取员工
        /// </summary>
        /// <param name="keyWord"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        Task<(List<UserBaseInforModel> Data, int TotalCount)> GetUserInfoList(string? keyWord, int pageIndex = 1, int pageSize = 10);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        Task<UserBaseInforModel> GetUserInfo(string userId);

        /// <summary>
        /// /
        /// </summary>
        /// <param name="userAccount"></param>
        /// <returns></returns>
        Task<UserBaseInforModel> GetUserInfoByAccount(string userAccount);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="employeeNumber"></param>
        /// <returns></returns>
        Task<UserBaseInforModel> GetUserDetail(string employeeNumber);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="employeeNumber"></param>
        /// <returns></returns>
        Task<UserBaseInforModel> GetUserDeptLeader(string employeeNumber);
    }
}
